package com.songlanyun.common.drive;

import com.baomidou.mybatisplus.core.conditions.Wrapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.songlanyun.common.utils.PageUtils;
import com.songlanyun.common.validator.group.AddGroup;
import com.songlanyun.common.validator.group.UpdateGroup;

import java.util.Map;


public abstract class BaseServiceImpl<M extends BaseMapper<T>,E,T extends RootEntity> extends ServiceImpl<M,T> implements IBaseService<E,T>
{

    @Validator({AddGroup.class})
    public abstract T create(T entity);

    @Validator({UpdateGroup.class})
    public  abstract T modify(T entity);


    public abstract void remove(E id);


    public  abstract PageUtils queryPage(Map<String, Object> params);



}
